using System;
using System.Collections.Generic;
using System.Text;

namespace SQLGenerationTest
{
    public delegate string RunTest();

    class Program
    {
        static void Main(string[] args)
        {
            bool ok = true;
            string msg = "";

            bool result = TestSelect.PerformTest();
            if (!result)
            {
                ok = false;
                msg = "ERROR IN SELECT TEST.";
                Log.Write(msg);
                Console.WriteLine(msg);
            }

            result = TestInsert.PerformTest();
            if (!result)
            {
                ok = false;
                msg = "ERROR IN INSERT TEST.";
                Log.Write(msg);
                Console.WriteLine(msg);
            }

            result = TestUpdate.PerformTest();
            if (!result)
            {
                ok = false;
                msg = "ERROR IN UPDATE TEST.";
                Log.Write(msg);
                Console.WriteLine(msg);
            }

            result = TestDelete.PerformTest();
            if (!result)
            {
                ok = false;
                msg = "ERROR IN DELETE TEST.";
                Log.Write(msg);
                Console.WriteLine(msg);
            }

            msg = (ok) ? "ALL TESTS SUCCEEDED." : "TEST FAILED! SEE LOG FOR DETAILS.";
            Console.WriteLine(msg);

            Console.ReadLine();
        }
    }
}
